package com.cn.wanxi.util;

import java.sql.*;

/**
 * 连接数据库
 * 数据库的操作
 */
public class JDBC {
    private JDBC() {

    }
//    1.注册数据库驱动
//Class.forName("com.mysql.jdbc.Driver");
//
//   2. 取得数据库连接对象Connection
//    Connection conn=DriverManager.getConnection(url,user,password);
//
//    3.创建SQL执行对象
//3.1 编写sql语句sql = ...;
//3.2 获得语句执行对象
//    PrepardStatement ps = conn.getprepareStatement(sql);
//
//    4.执行SQL命令，并返回结果集
//4.1 增删改操作
//ps.executeUpdate();
//4.2 返回结果集
//   5. ResultSet rs = ps.executeQuery();
//
//    处理结果集
//while(rs.next()){ rs.getString(int i); }
//
//    6.依次关闭结果集
//rs.close(); ps.close(); conn.close();

    static {
        try {
//            如果是5.7版本com.mysql.jdbc.Driver
//            如果大于5.7版本com.mysql.cj.jdbc.Driver
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    /**
     * 取得数据库连接
     *
     * @return
     * @throws SQLException
     */
    private static Connection getConnection() throws SQLException {
        String url = "jdbc:mysql://121.199.55.96:3306/canyin04";
        String user = "canyin04";
        String password = "123456";
        return DriverManager.getConnection(url, user, password);
    }

    /**
     * 增删改操作
     *
     * @param sql
     * @throws SQLException
     */
    public static int update(String sql) {
        PreparedStatement ps = null;
        try {
            ps = getConnection().prepareStatement(sql);
            return ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return 0;
    }

    public static ResultSet query(String sql) {
        PreparedStatement ps = null;
        try {
            ps = getConnection().prepareStatement(sql);
            return ps.executeQuery();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }

    public static void main(String[] args) throws SQLException {
        System.out.println(getConnection());
    }
}
